package com.woniuxy.amusementparkos.dao.lsy;

import java.util.List;

import org.apache.ibatis.annotations.Param;

import com.woniuxy.amusementparkos.entity.lsy.WriststrpType;

/**
* @author Muzi
* 操作腕带类型的Dao
* 2020年4月23日下午8:17:32
*/
public interface WriststrpTypeDao {
	
	/**
	 * 查询所有的腕带类型 
	 * @return 返回腕带类型的数组
	 */
	List<WriststrpType> listAllWriststrpType();
	
	/**
	 * 修改腕带类型信息，并配置消费项
	 * @param wriststrpType
	 * @return
	 */
	Integer updateWriststrpType(WriststrpType wriststrpType);
	
	/**
	 * 新增腕带类型的衍生方法 操作表：wriststrp_type_and_consumer_item
	 * @param id
	 * @param consumer_item_id
	 * @param type_id
	 * @return
	 */
// 暂不使用 by李世圆 2020年4月27日20:08:39	
//	Integer updateWriststrpTypeAndConsumerItem(@Param(value = "id") Integer id,
//			@Param(value = "consumer_item_id") Integer consumer_item_id,@Param(value = "type_id") Integer type_id);
	
	/**
	 * 修改腕带类型信息 
	 * @param wriststrpType
	 * @return
	 */
	Integer insertWriststrpType(WriststrpType wriststrpType);
	
	/**
	 * 修改腕带类型的衍生操作 操作表：wriststrp_type_and_consumer_item
	 * @param wriststrpType
	 * @return
	 */
	Integer insertWriststrpTypeAndConsumerItem(@Param(value = "consumer_item_id") Integer consumer_item_id,
			@Param(value = "type_id") Integer type_id);

	
	/**
	 * 软删除消费类型，删除之前需要检查腕带库表，已经是否使用了该类型
	 * @param type_id
	 * @return
	 */
	Integer deleteWriststrpType(Integer type_id);
	
	
	/**
	 * 删除腕带类型的衍生方法 操作表：wriststrp_type_and_consumer_item
	 * @param type_id 要先执行，删除从表（本方法）再删主表（执行主方法）
	 * @return
	 */
	Integer deleteWriststrpTypeAndConsumerItem(Integer type_id);
}
